import { IsString, IsNotEmpty, Length, IsEmail, IsOptional } from "class-validator";

export class SigninUserDto {
  @IsString({ message: "用户名或者邮箱必须是字符串" })
  @IsNotEmpty({ message: "用户名或者邮箱不能为空" })
  @IsOptional()
  @Length(2, 20, {
    // $value：当前值
    // $preperty：当前属性名
    // $target：当前类
    // $constraint1：第一个约束条件
    // $constraint2：第二个约束条件
    message: `用户名或者邮箱长度必须在 $constraint1 和 $constraint2 之间，当前传递的值是：$value`,
  }) // 长度
  usernameOrEmail: string;

  @IsString({ message: "密码必须是字符串" })
  @IsNotEmpty({ message: "用户名称不能为空" })
  @Length(6, 64, {
    message: `密码长度必须在 $constraint1 和 $constraint2 之间，当前传递的值是：$value`,
  })
  password: string;
}
